package com.softeem.tank;

import java.awt.Image;
import javax.swing.ImageIcon;

/**
 * 子弹类用于表示游戏中的子弹对象。
 * 它包含了子弹的位置、图像和可见性等信息。
 */
public class Bullet {

    private int x, y; // 子弹的坐标
    private Image image; // 子弹的图像
    private boolean visible; // 子弹的可见性

    /**
     * 构造函数初始化子弹对象。
     * @param x 子弹的初始x坐标
     * @param y 子弹的初始y坐标
     */
    public Bullet(int x, int y) {
        ImageIcon ii = new ImageIcon("resources/bullet.png");
        image = ii.getImage();
        this.x = x;
        this.y = y;
        visible = true;
    }

    /**
     * 更新子弹的位置，使其向右移动。
     * 如果子弹移出屏幕，则设置为不可见。
     */
    public void move() {
        x += 5;
        if (x > 800) {
            visible = false;
        }
    }

    /**
     * 获取子弹的x坐标。
     * @return 子弹的x坐标
     */
    public int getX() {
        return x;
    }

    /**
     * 获取子弹的y坐标。
     * @return 子弹的y坐标
     */
    public int getY() {
        return y;
    }

    /**
     * 获取子弹的图像。
     * @return 子弹的图像对象
     */
    public Image getImage() {
        return image;
    }

    /**
     * 检查子弹是否可见。
     * @return 如果子弹可见返回true，否则返回false
     */
    public boolean isVisible() {
        return visible;
    }
}
